﻿<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>预约单管理</title>
    <#include "/common/link.ftl">
</head>
<body class="hold-transition skin-black sidebar-mini">
<div class="wrapper">
    <#include "/common/navbar.ftl">
    <!--菜单回显-->
    <#assign currentMenu="appointment"/>
    <#include "/common/menu.ftl">
    <div class="content-wrapper">
        <section class="content-header">
            <h1>预约单管理</h1>
        </section>
        <section class="content">
            <div class="box">
                <!--高级查询--->
                <div style="margin: 20px 0px 0px 10px">
                    <form class="form-inline" id="searchForm" action="/appointment/list" method="post">
                        <input type="hidden" name="currentPage" id="currentPage" value="1">
                        <div class="form-group">
                            <label>预约单流水号</label>
                            <input type="text" class="form-control"  placeholder="请输入预约单流水号">
                        </div>
                                <div class="form-group">
                                    <label>预约业务大类</label>
                                    <select class="form-control"  id="qoCategorySelect">
                                        <option value="">请选择业务大类</option>
                                    </select>
                                </div>
                                <div class="form-group">
                                    <label>预约单状态</label>
                                    <select class="form-control" id="status">
                                        <option value="">全部</option>
                                        <#list enums as e>
                                            <option value="${e.getValue()}">${e.getName()}</option>
                                        </#list>
                                    </select>
                                </div>
                                <div class="form-group">
                                    <label>门店查询</label>
                                    <select class="form-control"  id="businessId">
                                        <option value="">请选择门店</option>
                                        <#list businesses as b>
                                            <option value="${b.id}">${b.name}</option>
                                        </#list>
                                    </select>
                                </div>
                                <div class="form-group">
                                    <label>客户名称</label>
                                    <input type="text" class="form-control"  placeholder="请输入客户名称">
                                </div>

                                <div class="form-group">
                                    <label>客户手机号</label>
                                    <input type="text" class="form-control"  placeholder="请输入客户手机号">
                                </div>

                                <br/>
                                <br/>

                        <div class="form-group">
                            <label>预约时间查询：</label>
                            <input placeholder="请输入开始时间" type="text"  class="form-control input-datetime-noss"   /> -
                            <input placeholder="请输入结束时间" type="text"  class="form-control input-datetime-noss"   />
                        </div>

                        <button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-search"></span> 查询</button>

                        <a class="btn btn-success btn-input">
                            <span class="glyphicon glyphicon-plus"></span> 添加
                        </a>
                    </form>

                </div>
                <div class="box-body table-responsive ">
                <table class="table table-hover table-bordered table-striped">
                    <thead>
                    <tr>
                        <th>序号</th>
                        <th>流水号</th>
                        <th>业务大类</th>
                        <th>预约说明</th>
                        <th>预约时间</th>
                        <th>客户名称</th>
                        <th>联系方式</th>
                        <th>预约门店</th>
                        <th>状态</th>
                        <th>操作</th>
                    </tr>
                    </thead>
                    <tbody>
                    <#list pageInfo.list as app>
                        <tr>
                            <td>${app_index+1}</td>
                            <td>${app.ano}</td>
                            <td>${app.category.title}</td>
                            <td>${app.info}</td>
                            <td>${(app.appointmentTime?string("yyyy-MM-dd HH:mm"))!}</td>
                            <td>${app.contactName}</td>
                            <td>${app.contactTel}</td>
                            <td>${app.business.name}</td>
                            <td>${app.statusName}</td>
                            <td>
                                <a class="btn btn-info btn-xs btn-input" data-json='${app.toJson()}'>
                                    <span class="glyphicon glyphicon-pencil"></span> 编辑
                                </a>
                                <a class="btn btn-xs btn-primary btn-status"  data-id="${app.id}" data-status="1">
                                    <span class="glyphicon glyphicon-phone-alt"></span> 确认预约</a>
                                <a class="btn btn-xs btn-danger btn-status" data-id="${app.id}" data-status="4">
                                    <span class="glyphicon glyphicon-remove"></span> 取消预约</a>
                                <a  class="btn btn-success btn-xs btn-consume" data-id="${app.id}" data-ano="${app.ano}">
                                    <span class="glyphicon glyphicon-shopping-cart"></span> 确认到店
                                </a>
                            </td>
                        </tr>
                    </#list>
                    </tbody>
                </table>
                    <!--分页-->
                    <#include "/common/page.ftl">
                </div>

            </div>
        </section>
    </div>
    <#include "/common/footer.ftl">
</div>


<#-- 文件上传模态框 -->
<!--模态框-->
<div class="modal fade" id="editModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title" id="myModalLabel">新增/编辑</h4>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span>
                </button>
            </div>

            <form id="editForm" action="/appointment/saveOrUpdate" method="post" >
                <div class="modal-body">
                    <input type="hidden" name="id">
                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">预约门店：</label>
                        <div class="col-sm-7">
                            <select class="form-control" name="business.id">
                                <option value="">请选择预约门店</option>
                                <#list businesses as b>
                                    <option value="${b.id}">${b.name}</option>
                                </#list>
                            </select>
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">预约时间：</label>
                        <div class="col-sm-7">
                            <input type="text"  class="form-control input-datetime-noss" name="appointmentTime" placeholder="请输入预约时间"/>
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">业务大类：</label>
                        <div class="col-sm-7">
                            <select class="form-control" id="categorySelect" name="category.id">
                                <option value="">请选择业务大类</option>
                            </select>
                        </div>
                    </div>

                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">联系人：</label>
                        <div class="col-sm-7">
                            <input type="text" class="form-control" name="contactName"
                                   placeholder="请输入联系人">
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">联系电话：</label>
                        <div class="col-sm-7">
                            <input type="text" class="form-control" name="contactTel"
                                   placeholder="请输入联系电话">
                        </div>
                    </div>
                    <div class="form-group row">
                        <label class="col-sm-3 col-form-label">预约说明：</label>
                        <div class="col-sm-7">
                            <textarea type="text" class="form-control" name="info"
                                      placeholder="请输入预约说明"></textarea>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
                    <button type="submit" class="btn btn-primary btn-submit">保存</button>
                </div>
            </form>
        </div>
    </div>
</div>

<script>
    //点击确认到店
    $('.btn-consume').click(function () {
        let id = $(this).data('id');
        let appointmentAno = $(this).data('ano');
        Swal.fire({
            title: '是否确认可以已经到店？',
            icon: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            confirmButtonText: '确定',
            cancelButtonText: '取消',
        }).then((result) => {
            if (result.value){
                Swal.fire({
                    title: '客户是否有消费？',
                    icon: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: '有消费',
                    cancelButtonText: '无消费',
                }).then((result) => {
                    if (result.value){
                        //有消费,生成结算单,预约单状态转为消费中,发送ajax请求
                        $.get("/consumption/save",{appointmentAno:appointmentAno},function (data) {
                            if(data.success){
                                Swal.fire(
                                    '成功',
                                    '',
                                    'success'
                                ).then((result) => {
                                    if(result.value){
                                        window.location.href = "/consumption/input?id=" + data.data
                                    }
                                });
                            }else {
                                Swal.fire(
                                    data.msg,
                                    '',
                                    'error'
                                )
                            }
                        });

                    }else {
                        //无消费,预约单状态改为归档
                        changeStatus(id,3);
                    }
                });
            }
        });
    });

    //给改变status的方法抽出来
    function changeStatus(id,status){
        $.get("/appointment/changeStatus",{id:id,status:status},function (data) {
            if(data.success){
                Swal.fire(
                    '成功',
                    '',
                    'success'
                ).then((result) => {
                    if(result.value){
                        window.location.reload();
                    }
                });
            }else {
                Swal.fire(
                    data.msg,
                    '',
                    'error'
                )
            }
        })
    }
    //绑定确定/取消预约 id 再循环的时候也写在按钮上,status修改后的值也写死再按钮上
    $('.btn-status').click(function () {
        let id = $(this).data('id');
        let status = $(this).data('status');
        changeStatus(id,status);
    });

    $('#editModal').ajaxForm(function (data) {
        if(data.success){
            //如果成功给出一个框提示
            Swal.fire(
                '成功',
                '',
                'success'
            ).then((result) => {
                if(result.value){
                    //如果点击了确定执行以下操作
                    //刷新当前页面
                    window.location.reload();
                }
            });
        }else {
            Swal.fire(
                data.msg,
                '',
                'error'
            )
        }
    });

    $.get("/systemDictionaryItem/selectByTypeSn",{sn:"business"},function (data) {
        let str = '';
        //循环遍历
        $.each(data,function (i,ele) {
            //拼接字符串
            str += '<option value="'+ele.id+'">'+ele.title+'</option>';
        });
        $('#categorySelect').append(str);
        $('#qoCategorySelect').append(str);
    });

    $('.btn-input').click(function () {
        $('#editForm input,#editForm select,#editForm textarea').val('');
        //编辑,从按钮中获取数据回显
        let json = $(this).data('json');
        if(json){
            $('#editForm select[name="business.id"]').val(json.businessId);
            $('#editForm select[name="category.id"]').val(json.categoryId);
            $('#editForm input[name=id]').val(json.id);
            $('#editForm input[name=appointmentTime]').val(json.appointmentTime);
            $('#editForm input[name=contactName]').val(json.contactName);
            $('#editForm input[name=contactTel]').val(json.contactTel);
            $('#editForm textarea[name=info]').val(json.info);
        }
        $('#editModal').modal('show');
    });
</script>

</body>
</html>
